package com.yunhe.common.model.authority;

import com.yunhe.common.model.base.Area;
import com.yunhe.common.model.base.StationType;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class Station implements Comparable<Station>, Serializable {

    private Long id;
    private String name;
    private String projectNo;
    private Long code;
    private String title;
    private Double storageCapacity;
    private Double photovoltaicCapacity;
    private Double windCapacity;
    private String longitude;
    private String latitude;
    private String activity = "1";
    private String sn;
    private Date productionTime;
    private StationType stationType;
    private Area area;

    private String coordinateRange;

    private String schematicDiagramBase64;

    private  String system;

    private  String systemTitle;

    private String enterpriseFullName;
    private String formerName;
    private String areaAddress;
    private String areaAddressTitle;
    private String address;
    private String category;

    private String categoryTitle;

    private String corporateLogo;
    private String corporateLogoThumbnail;
    private String unifiedSocialCreditCode;
    private String corporateName;
    private String businessRegisteredAddress;
    private String registeredCapital;
    private String operatingPeriod;
    private String contactPerson;
    private String phone;
    private String contactTitle;
    private String createTime;

    private Long firmId;

    // 是否使用心跳逻辑
    private Boolean useHeartbeat;
    private Long heartbeatTimeout;
    private String timeZone;
    private List<String> beeIds;

    public String getProjectNo() {
        return projectNo;
    }

    public void setProjectNo(String projectNo) {
        this.projectNo = projectNo;
    }

    @Override
    public int compareTo(Station o) {
        if (this.sn == null) {
            return -1;
        } else if (o.getSn() == null) {
            return 1;
        }
        return this.sn.compareTo(o.getSn());
    }

    public Long getFirmId() {
        return firmId;
    }

    public void setFirmId(Long firmId) {
        this.firmId = firmId;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getCode() {
        return code;
    }

    public void setCode(Long code) {
        this.code = code;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getActivity() {
        return activity;
    }

    public void setActivity(String activity) {
        this.activity = activity;
    }

    public String getSn() {
        return sn;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public String getSystem() {
        return system;
    }

    public void setSystem(String system) {
        this.system = system;
    }

    public String getEnterpriseFullName() {
        return enterpriseFullName;
    }

    public void setEnterpriseFullName(String enterpriseFullName) {
        this.enterpriseFullName = enterpriseFullName;
    }

    public String getFormerName() {
        return formerName;
    }

    public void setFormerName(String formerName) {
        this.formerName = formerName;
    }

    public String getAreaAddress() {
        return areaAddress;
    }

    public void setAreaAddress(String areaAddress) {
        this.areaAddress = areaAddress;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getCorporateLogo() {
        return corporateLogo;
    }

    public void setCorporateLogo(String corporateLogo) {
        this.corporateLogo = corporateLogo;
    }

    public String getCorporateLogoThumbnail() {
        return corporateLogoThumbnail;
    }

    public void setCorporateLogoThumbnail(String corporateLogoThumbnail) {
        this.corporateLogoThumbnail = corporateLogoThumbnail;
    }

    public String getUnifiedSocialCreditCode() {
        return unifiedSocialCreditCode;
    }

    public void setUnifiedSocialCreditCode(String unifiedSocialCreditCode) {
        this.unifiedSocialCreditCode = unifiedSocialCreditCode;
    }

    public String getCorporateName() {
        return corporateName;
    }

    public void setCorporateName(String corporateName) {
        this.corporateName = corporateName;
    }

    public String getBusinessRegisteredAddress() {
        return businessRegisteredAddress;
    }

    public void setBusinessRegisteredAddress(String businessRegisteredAddress) {
        this.businessRegisteredAddress = businessRegisteredAddress;
    }

    public String getRegisteredCapital() {
        return registeredCapital;
    }

    public void setRegisteredCapital(String registeredCapital) {
        this.registeredCapital = registeredCapital;
    }

    public String getOperatingPeriod() {
        return operatingPeriod;
    }

    public void setOperatingPeriod(String operatingPeriod) {
        this.operatingPeriod = operatingPeriod;
    }

    public String getContactPerson() {
        return contactPerson;
    }

    public void setContactPerson(String contactPerson) {
        this.contactPerson = contactPerson;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getContactTitle() {
        return contactTitle;
    }

    public void setContactTitle(String contactTitle) {
        this.contactTitle = contactTitle;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public Double getStorageCapacity() {
        return storageCapacity;
    }

    public void setStorageCapacity(Double storageCapacity) {
        this.storageCapacity = storageCapacity;
    }

    public Double getPhotovoltaicCapacity() {
        return photovoltaicCapacity;
    }

    public void setPhotovoltaicCapacity(Double photovoltaicCapacity) {
        this.photovoltaicCapacity = photovoltaicCapacity;
    }

    public Double getWindCapacity() {
        return windCapacity;
    }

    public void setWindCapacity(Double windCapacity) {
        this.windCapacity = windCapacity;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public Date getProductionTime() {
        return productionTime;
    }

    public void setProductionTime(Date productionTime) {
        this.productionTime = productionTime;
    }

    public StationType getStationType() {
        return stationType;
    }

    public void setStationType(StationType stationType) {
        this.stationType = stationType;
    }

    public Area getArea() {
        return area;
    }

    public void setArea(Area area) {
        this.area = area;
    }

    public String getCoordinateRange() {
        return coordinateRange;
    }

    public void setCoordinateRange(String coordinateRange) {
        this.coordinateRange = coordinateRange;
    }

    public String getSchematicDiagramBase64() {
        return schematicDiagramBase64;
    }

    public void setSchematicDiagramBase64(String schematicDiagramBase64) {
        this.schematicDiagramBase64 = schematicDiagramBase64;
    }

    public String getSystemTitle() {
        return systemTitle;
    }

    public void setSystemTitle(String systemTitle) {
        this.systemTitle = systemTitle;
    }

    public String getAreaAddressTitle() {
        return areaAddressTitle;
    }

    public void setAreaAddressTitle(String areaAddressTitle) {
        this.areaAddressTitle = areaAddressTitle;
    }

    public String getCategoryTitle() {
        return categoryTitle;
    }

    public void setCategoryTitle(String categoryTitle) {
        this.categoryTitle = categoryTitle;
    }

    public Boolean getUseHeartbeat() {
        return useHeartbeat;
    }

    public void setUseHeartbeat(Boolean useHeartbeat) {
        this.useHeartbeat = useHeartbeat;
    }

    public Long getHeartbeatTimeout() {
        return heartbeatTimeout;
    }

    public void setHeartbeatTimeout(Long heartbeatTimeout) {
        this.heartbeatTimeout = heartbeatTimeout;
    }

    public String getTimeZone() {
        return timeZone;
    }

    public void setTimeZone(String timeZone) {
        this.timeZone = timeZone;
    }

    public List<String> getBeeIds() {
        return beeIds;
    }

    public void setBeeIds(List<String> beeIds) {
        this.beeIds = beeIds;
    }
}
